<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- [js] 说说你对IIFE的理解 -->
    IIFE是立即执行函数，在一些常见的框架中，会使用立即执行函数形成一个独立作用域，在这个函数通常会写一些依赖环境之类的东西；
立即执行函数中，写完其中的变量不会被销毁，形成闭包

立即执行函数一般是(function (){})() ，还有这样写的 (function (){}()) 它们是等价的
还有一些其他的写法： !funtion (){}() ?funtion (){}() let fun = funtion (){}()
为了让一个匿名函数立即执行要满足2个条件：第一函数体后面一定要有小括号，第二不能是声明函数，一定是函数表达式

那么你肯定会问，刚刚写的这么多例子，不都是函数声明么，那是因为括号运算符或者! ， ？，=在一定程度上把函数声明转换为函数表达式了

在立即执行函数中，如果想要访问全局中的变量，直接行参引入window即可
<body>
</body>
</html>